/**
 * 
 * @author Ivam Henrique Marques dos Santos
 *         email: ivam.santos@skytef.com.br
 *         skype: ivam.santos.skytef
 *         telefone: +55 11 96214-7543
 */
package br.skytef.stmanager.entities;

import java.sql.Timestamp;

import br.skytef.stmanager.daos.ClienteDAO;
import br.skytef.stmanager.utils.Cnpj;
import br.skytef.stmanager.utils.calculoRelatorio;


/**
 * Class Model ClienteEntity
 */

public class ClienteEntity {

	private String razaoSocial;
	private String nomeFantasia;
	private long cnpj;
	private int qtdLojas;
	private String movimentacao;
	private String dataMovimentacao;
	private String responsavel;
	private String responsavelEmail;
	private String atendSuporte;
	private String telefone;
	private String emailCliente;
	private String cliente;
	private String dataCancelamento;
	private int diaFaturado;
	private String cidade;
	private String uf;
	private String politica;
	private String categoria;
	private Timestamp data_inclusao;
	private Timestamp data_atualizacao;
	private int idCliente;
	private int usuario_id;
	private double valorFaturado;
	private double valorSE;
	private int qtdPDV;
	private double valorGSurf;
	private double valorLyra;
	private String tipo_Cliente;
	private String sla;
	private int idFaturamento;
	private int idSuporte;
	private int idParceiro;

	public ClienteEntity() {
		super();
	}

	/**
	 * Getters Especiais.
	 * */
	public String getStatus() {
		String status = new ClienteDAO().buscarDivergencia(idCliente);
		if(status == null)
			status = "normal";
		return status;
	}	
	public String getCnpjMask() {
		return new Cnpj().InteiroParaString(cnpj);		 
	}
	public void setCnpjMask(String cnpj){
		this.cnpj = new Cnpj().StringParaInteiro(cnpj);		
	}
	
	public String getSoftwareHouse() {
		String SH = new ClienteDAO().buscarSoftwareHouse(idCliente);
		if(SH == null)
			SH = " ";
		return SH;
	}
	
	public String getParceiro() {
		String parceiro = new ClienteDAO().buscarParceiro(idCliente);
		if(parceiro == null)
			parceiro = " ";
		return parceiro;
	}
	public double getLiquido() {
		return new calculoRelatorio().getLiquido(valorFaturado, valorGSurf, valorLyra, valorSE);
	}

	/**
	 * @return the razaoSocial
	 */
	public String getRazaoSocial() {
		return razaoSocial;
	}

	/**
	 * @param razaoSocial the razaoSocial to set
	 */
	public void setRazaoSocial(String razaoSocial) {
		this.razaoSocial = razaoSocial;
	}

	/**
	 * @return the nomeFantasia
	 */
	public String getNomeFantasia() {
		return nomeFantasia;
	}

	/**
	 * @param nomeFantasia the nomeFantasia to set
	 */
	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

	/**
	 * @return the cnpj
	 */
	public long getCnpj() {
		return cnpj;
	}

	/**
	 * @param cnpj the cnpj to set
	 */
	public void setCnpj(long cnpj) {
		this.cnpj = cnpj;
	}

	/**
	 * @return the qtdLojas
	 */
	public int getQtdLojas() {
		return qtdLojas;
	}

	/**
	 * @param qtdLojas the qtdLojas to set
	 */
	public void setQtdLojas(int qtdLojas) {
		this.qtdLojas = qtdLojas;
	}

	/**
	 * @return the movimentacao
	 */
	public String getMovimentacao() {
		return movimentacao;
	}

	/**
	 * @param movimentacao the movimentacao to set
	 */
	public void setMovimentacao(String movimentacao) {
		this.movimentacao = movimentacao;
	}

	/**
	 * @return the dataMovimentacao
	 */
	public String getDataMovimentacao() {
		return dataMovimentacao;
	}

	/**
	 * @param dataMovimentacao the dataMovimentacao to set
	 */
	public void setDataMovimentacao(String dataMovimentacao) {
		this.dataMovimentacao = dataMovimentacao;
	}

	/**
	 * @return the responsavel
	 */
	public String getResponsavel() {
		return responsavel;
	}

	/**
	 * @param responsavel the responsavel to set
	 */
	public void setResponsavel(String responsavel) {
		this.responsavel = responsavel;
	}

	/**
	 * @return the responsavelEmail
	 */
	public String getResponsavelEmail() {
		return responsavelEmail;
	}

	/**
	 * @param responsavelEmail the responsavelEmail to set
	 */
	public void setResponsavelEmail(String responsavelEmail) {
		this.responsavelEmail = responsavelEmail;
	}

	/**
	 * @return the atendSuporte
	 */
	public String getAtendSuporte() {
		return atendSuporte;
	}

	/**
	 * @param atendSuporte the atendSuporte to set
	 */
	public void setAtendSuporte(String atendSuporte) {
		this.atendSuporte = atendSuporte;
	}

	/**
	 * @return the telefone
	 */
	public String getTelefone() {
		return telefone;
	}

	/**
	 * @param telefone the telefone to set
	 */
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	/**
	 * @return the emailCliente
	 */
	public String getEmailCliente() {
		return emailCliente;
	}

	/**
	 * @param emailCliente the emailCliente to set
	 */
	public void setEmailCliente(String emailCliente) {
		this.emailCliente = emailCliente;
	}

	/**
	 * @return the cliente
	 */
	public String getCliente() {
		return cliente;
	}

	/**
	 * @param cliente the cliente to set
	 */
	public void setCliente(String cliente) {
		this.cliente = cliente;
	}

	/**
	 * @return the dataCancelamento
	 */
	public String getDataCancelamento() {
		return dataCancelamento;
	}

	/**
	 * @param dataCancelamento the dataCancelamento to set
	 */
	public void setDataCancelamento(String dataCancelamento) {
		this.dataCancelamento = dataCancelamento;
	}

	/**
	 * @return the diaFaturado
	 */
	public int getDiaFaturado() {
		return diaFaturado;
	}

	/**
	 * @param diaFaturado the diaFaturado to set
	 */
	public void setDiaFaturado(int diaFaturado) {
		this.diaFaturado = diaFaturado;
	}

	/**
	 * @return the cidade
	 */
	public String getCidade() {
		return cidade;
	}

	/**
	 * @param cidade the cidade to set
	 */
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	/**
	 * @return the uf
	 */
	public String getUf() {
		return uf;
	}

	/**
	 * @param uf the uf to set
	 */
	public void setUf(String uf) {
		this.uf = uf;
	}

	/**
	 * @return the politica
	 */
	public String getPolitica() {
		return politica;
	}

	/**
	 * @param politica the politica to set
	 */
	public void setPolitica(String politica) {
		this.politica = politica;
	}

	/**
	 * @return the categoria
	 */
	public String getCategoria() {
		return categoria;
	}

	/**
	 * @param categoria the categoria to set
	 */
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	/**
	 * @return the data_inclusao
	 */
	public Timestamp getData_inclusao() {
		return data_inclusao;
	}

	/**
	 * @param data_inclusao the data_inclusao to set
	 */
	public void setData_inclusao(Timestamp data_inclusao) {
		this.data_inclusao = data_inclusao;
	}

	/**
	 * @return the data_atualizacao
	 */
	public Timestamp getData_atualizacao() {
		return data_atualizacao;
	}

	/**
	 * @param data_atualizacao the data_atualizacao to set
	 */
	public void setData_atualizacao(Timestamp data_atualizacao) {
		this.data_atualizacao = data_atualizacao;
	}

	/**
	 * @return the idCliente
	 */
	public int getIdCliente() {
		return idCliente;
	}

	/**
	 * @param idCliente the idCliente to set
	 */
	public void setIdCliente(int idCliente) {
		this.idCliente = idCliente;
	}

	/**
	 * @return the usuario_id
	 */
	public int getUsuario_id() {
		return usuario_id;
	}

	/**
	 * @param usuario_id the usuario_id to set
	 */
	public void setUsuario_id(int usuario_id) {
		this.usuario_id = usuario_id;
	}

	/**
	 * @return the valorFaturado
	 */
	public double getValorFaturado() {
		return valorFaturado;
	}

	/**
	 * @param valorFaturado the valorFaturado to set
	 */
	public void setValorFaturado(double valorFaturado) {
		this.valorFaturado = valorFaturado;
	}

	/**
	 * @return the valorSE
	 */
	public double getValorSE() {
		return valorSE;
	}

	/**
	 * @param valorSE the valorSE to set
	 */
	public void setValorSE(double valorSE) {
		this.valorSE = valorSE;
	}

	/**
	 * @return the qtdPDV
	 */
	public int getQtdPDV() {
		return qtdPDV;
	}

	/**
	 * @param qtdPDV the qtdPDV to set
	 */
	public void setQtdPDV(int qtdPDV) {
		this.qtdPDV = qtdPDV;
	}

	/**
	 * @return the valorGSurf
	 */
	public double getValorGSurf() {
		return valorGSurf;
	}

	/**
	 * @param valorGSurf the valorGSurf to set
	 */
	public void setValorGSurf(double valorGSurf) {
		this.valorGSurf = valorGSurf;
	}

	/**
	 * @return the valorLyra
	 */
	public double getValorLyra() {
		return valorLyra;
	}

	/**
	 * @param valorLyra the valorLyra to set
	 */
	public void setValorLyra(double valorLyra) {
		this.valorLyra = valorLyra;
	}

	/**
	 * @return the tipo_Cliente
	 */
	public String getTipo_Cliente() {
		return tipo_Cliente;
	}

	/**
	 * @param tipo_Cliente the tipo_Cliente to set
	 */
	public void setTipo_Cliente(String tipo_Cliente) {
		this.tipo_Cliente = tipo_Cliente;
	}

	/**
	 * @return the sla
	 */
	public String getSla() {
		return sla;
	}

	/**
	 * @param sla the sla to set
	 */
	public void setSla(String sla) {
		this.sla = sla;
	}

	/**
	 * @return the idFaturamento
	 */
	public int getIdFaturamento() {
		return idFaturamento;
	}

	/**
	 * @param idFaturamento the idFaturamento to set
	 */
	public void setIdFaturamento(int idFaturamento) {
		this.idFaturamento = idFaturamento;
	}

	/**
	 * @return the idSuporte
	 */
	public int getIdSuporte() {
		return idSuporte;
	}

	/**
	 * @param idSuporte the idSuporte to set
	 */
	public void setIdSuporte(int idSuporte) {
		this.idSuporte = idSuporte;
	}

	public int getIdParceiro() {
		return idParceiro;
	}

	public void setIdParceiro(int idParceiro) {
		this.idParceiro = idParceiro;
	}

	public ClienteEntity(String razaoSocial, String nomeFantasia, long cnpj,
			int qtdLojas, String movimentacao, String dataMovimentacao,
			String responsavel, String responsavelEmail, String atendSuporte,
			String telefone, String emailCliente, String cliente,
			String dataCancelamento, int diaFaturado, String cidade, String uf,
			String politica, String categoria, Timestamp data_inclusao,
			Timestamp data_atualizacao, int usuario_id, double valorFaturado,
			int qtdPDV, String tipo_Cliente, int idFaturamento, int idSuporte, int idParceiro) {
		super();
		this.razaoSocial = razaoSocial;
		this.nomeFantasia = nomeFantasia;
		this.cnpj = cnpj;
		this.qtdLojas = qtdLojas;
		this.movimentacao = movimentacao;
		this.dataMovimentacao = dataMovimentacao;
		this.responsavel = responsavel;
		this.responsavelEmail = responsavelEmail;
		this.atendSuporte = atendSuporte;
		this.telefone = telefone;
		this.emailCliente = emailCliente;
		this.cliente = cliente;
		this.dataCancelamento = dataCancelamento;
		this.diaFaturado = diaFaturado;
		this.cidade = cidade;
		this.uf = uf;
		this.politica = politica;
		this.categoria = categoria;
		this.data_inclusao = data_inclusao;
		this.data_atualizacao = data_atualizacao;
		this.usuario_id = usuario_id;
		this.valorFaturado = valorFaturado;
		this.qtdPDV = qtdPDV;
		this.tipo_Cliente = tipo_Cliente;
		this.idFaturamento = idFaturamento;
		this.idSuporte = idSuporte;
		this.idParceiro = idParceiro;
	}	
		
}

